OpenXava est un ensemble d'outils et de composants pour développer des applications JavaEE/J2EE rapidement et facilement.
La philosophie sous-jacente est de réaliser les spécifications à l'aide d'annotations Java ou des spécifications XML et de programmer avec Java. L'objectif est de se concentrer principalement sur la définition et le moins possible sur la programmation.
Le but d'OpenXava est de réaliser facilement les fonctionnalités les plus courantes dans les applications métier tout en gardant une certaine flexibilité afin de permettre de développer sans restrictions des fonctionnalités avancées.
Composant métier
Les pièces fondamentales pour créer des applications avec OpenXava sont les composants métier. Dans ce contexte, un composant métier est une classe Java (même s'il existe aussi une version XML) qui contient toute l'information nécessaire sur un concept métier pour permettre la construction de l'application. Par exemple, toute l'information nécessaire qu'un système a besoin de savoir sur le concept de facture est défini dans le fichier Facture.java. Les éléments qui peuvent être définis dans un composant métier sont les suivants :
La structure des données
Les validateurs , les calculs et en général la logique associée avec le composant métier
Les vues possibles, c'est-à-dire, la configuration de toutes les interfaces utilisateur possibles pour ce composant précis
Les présentations des listes de données utilisées pour la navigation des instances de composants, la recherche et les rapports
La mapping objet-relationnel, c'est-à-dire la cartographie qui lie les objets Java au tables des bases de données. Ceci inclut des informations sur les tables des bases de données et les conversions entre les données de la base de données et les objets Java.
Ce découpage est utile pour les groupes de travail et permet de développer des composants métiers génériques utilisables dans plusieurs projets.
Contrôleurs
Le composant métier ne définit pas les actions qu'un utilisateur peut effectuer dans l'application, c'est-à-dire les fonctionnalités. Ceci est défini par les contrôleurs spécifiés dans le fichier xava/controllers.xml du projet. En outre, OpenXava fournit un ensemble de contrôleurs dans le fichier OpenXava/xava/default-controllers.xml.
Un contrôleur est un ensemble d'actions. Une action est un bouton ou un lien qu'un utilisateur peut cliquer.
Les contrôleurs sont distincts des composants métier car un contrôleur peut être assigné à plusieurs composants métier. Par exemple, un contrôleur pour les opérations CRUD (Create-Request-Update-Delete-créer-consulter-modifier-supprimer), pour la production d'impressions PDF ou l'export d'un fichier texte peuvent être utilisés et ré-utilisés pour des composants divers comme des factures, des personnes, des citernes, des adresses, etc.
Application
Une application OpenXava est un ensemble de modules. Un module lie un composant métier avec un ou plusieurs contrôleurs. Chaque module de l'application est ce que l'utilisateur final utilise et est généralement configuré comme un portlet d'un portail.
Structure d'un projet
Un projet OpenXava standard contient usuellement l'ensemble des dossiers suivants :
[racine] A la racine de la structure se trouve le fichier build.xml contenant les tâches Ant.
src [dossier source] Le dossier source contenant le code Java
xava : Les fichiers de configuration XML de l'application. Les principaux fichiers sont application.xml et controllers.xml.
i18n : Les fichiers ressources avec les libellés et les messages dans plusieurs langues
properties[dossier source] : Fichiers de propriétés pour la configuration de l'application
data : Dossier utile pour conserver les scripts de création des tables sur la base de donnée, si nécessaire
web : Contenu de l'application web. En général des JSP, les librairies nécessaires et les classes Java. La majorité du contenu est générée automatiquement, mais il est possible d'y placer des pages JSP spécifiques ou d'autres ressource web particulières.
Table of Contents
Chapitre 1. Introduction
Présentation
OpenXava est un ensemble d'outils et de composants pour développer des applications JavaEE/J2EE rapidement et facilement.La philosophie sous-jacente est de réaliser les spécifications à l'aide d'annotations Java ou des spécifications XML et de programmer avec Java. L'objectif est de se concentrer principalement sur la définition et le moins possible sur la programmation.
Le but d'OpenXava est de réaliser facilement les fonctionnalités les plus courantes dans les applications métier tout en gardant une certaine flexibilité afin de permettre de développer sans restrictions des fonctionnalités avancées.
Composant métier
Les pièces fondamentales pour créer des applications avec OpenXava sont les composants métier. Dans ce contexte, un composant métier est une classe Java (même s'il existe aussi une version XML) qui contient toute l'information nécessaire sur un concept métier pour permettre la construction de l'application. Par exemple, toute l'information nécessaire qu'un système a besoin de savoir sur le concept de facture est défini dans le fichier Facture.java. Les éléments qui peuvent être définis dans un composant métier sont les suivants :- La structure des données
- Les validateurs , les calculs et en général la logique associée avec le composant métier
- Les vues possibles, c'est-à-dire, la configuration de toutes les interfaces utilisateur possibles pour ce composant précis
- Les présentations des listes de données utilisées pour la navigation des instances de composants, la recherche et les rapports
- La mapping objet-relationnel, c'est-à-dire la cartographie qui lie les objets Java au tables des bases de données. Ceci inclut des informations sur les tables des bases de données et les conversions entre les données de la base de données et les objets Java.
Ce découpage est utile pour les groupes de travail et permet de développer des composants métiers génériques utilisables dans plusieurs projets.Contrôleurs
Le composant métier ne définit pas les actions qu'un utilisateur peut effectuer dans l'application, c'est-à-dire les fonctionnalités. Ceci est défini par les contrôleurs spécifiés dans le fichier xava/controllers.xml du projet. En outre, OpenXava fournit un ensemble de contrôleurs dans le fichier OpenXava/xava/default-controllers.xml.Un contrôleur est un ensemble d'actions. Une action est un bouton ou un lien qu'un utilisateur peut cliquer.
Les contrôleurs sont distincts des composants métier car un contrôleur peut être assigné à plusieurs composants métier. Par exemple, un contrôleur pour les opérations CRUD (Create-Request-Update-Delete-créer-consulter-modifier-supprimer), pour la production d'impressions PDF ou l'export d'un fichier texte peuvent être utilisés et ré-utilisés pour des composants divers comme des factures, des personnes, des citernes, des adresses, etc.
Application
Une application OpenXava est un ensemble de modules. Un module lie un composant métier avec un ou plusieurs contrôleurs. Chaque module de l'application est ce que l'utilisateur final utilise et est généralement configuré comme un portlet d'un portail.Structure d'un projet
Un projet OpenXava standard contient usuellement l'ensemble des dossiers suivants :